4LMTBPV7JT446YP5RLF6HT7246BY75U5V35JTEIK4PT5NEPKNNKAC background-color: rgba(255, 255, 255, 0.33);height:45px;width:45px;
height:50px;width:50px;background-color: darkred;border: solid 0 rgba(0, 0, 0, 0.33);border-width: 0 1px 1px 0;border-radius: 4px;box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.5);
.investigator-placeholder:hover {background-image: url('img/tokens.jpg');background-position: 380px 400px;
.location_slot {position: absolute;height:72px;width:72px;box-shadow: 0 0 3px 3px hsla(0, 0%, 100%, 0.75);}.loc_tokens {position: absolute;height:50px;width:272px;text-align: center;background-color: #ffffff33;}.loc_tokens.loc_chinatown {top: 394px;left: 30px;}.loc_tokens.loc_forestpark {top: 52px;left: 596px;transform: rotate(2.5deg);}.loc_tokens.loc_trocadero {top:220px;left:452px;transform: rotate(1deg);}.loc_tokens .investigator {position:relative;display:inline-block;}.loc_tokens .investigator:last-of-type {margin-right:0;
$cards = array ();foreach ( $this->evidence_cards as $card_id => $card ) {$cards [] = array ('type' => 'evidence', 'type_arg' => $card['name'], 'nbr' => 1 );
$cards = array();foreach ( $this->evidence_cards as $card_id => $card) {$cards[] = array('type' => 'evidence', 'type_arg' => $card_id, 'nbr' => 1);
// Reset evidence cards$this->cards->moveAllCardsInLocation(null, "deck");$this->cards->shuffle('deck');$this->cards->pickCardsForLocation($this->constants['EVIDENCE_DISPLAY_SIZE'], 'deck', 'evidence_display');// TODO// Select a new first player. In minigame 1 it's player_no 1, minigame 2 player_no 2 etc.$this->activeNextPlayer();}
$this->cards->insertCardOnExtremePosition( $card_id, "discard", true );} else {
$this->cards->insertCardOnExtremePosition($card_id, "discard", true);self::notifyAllPlayers('evidenceSelected',clienttranslate('${player_name} found a useful evidence: ${card_name}'), array ('i18n' => array ('card_name'),'card_id' => $card_id,'useful' => true,'player_id' => $player_id,'player_name' => self::getActivePlayerName(),'value' => $currentCard['type_arg'],'card_name' => $currentCard['type_arg'],));} else {
// $this->cards->moveCard($card_id, "discard");}$currentCard = $this->cards->getCard($card_id);self::notifyAllPlayers('evidenceSelected',clienttranslate('${player_name} plays evidence ${card_name}'), array ('i18n' => array ('card_name'),'card_id' => $card_id,'player_id' => $player_id,'player_name' => self::getActivePlayerName(),'value' => $currentCard['type_arg'],'card_name' => $currentCard['type_arg'],));
$this->cards->moveCard($card_id, "player_display", $player_id);self::notifyAllPlayers('evidenceSelected',clienttranslate('${player_name} had no luck following evidence ${card_name}'), array ('i18n' => array ('card_name'),'useful' => false,'card_id' => $card_id,'player_id' => $player_id,'player_name' => self::getActivePlayerName(),'value' => $currentCard['type_arg'],'card_name' => $currentCard['type_arg'],));}
// // Build card type idvar card_type_id = value;// var card_type_id = this.getCardUniqueId(color, value);// this.playerHand.addItemType(card_type_id, card_type_id, g_gamethemeurl + 'img/cards.jpg', card_type_id);this.evidenceDisplay.addItemType(card_type_id, card_type_id, g_gamethemeurl + 'img/cards.jpg', card_type_id);
var pos_in_img = value - 1; // it's zero-basedthis.evidenceDisplay.addItemType(value, value, g_gamethemeurl + 'img/evidencecards.jpg', pos_in_img);
this.evidenceDisplay.addToStockWithId(card.id, card.id);this.addTooltip('evidence_item_' + card.id, _('Evidence') + card.type_arg, _('Follow this evidence…'))
this.evidenceDisplay.addToStockWithId(card.type_arg, card.id);this.addTooltip('evidence_item_' + card.id, _(this.gamedatas.evidence_cards[card.type_arg].name), _('Follow this evidence…'));
console.log( 'notif_cardPlayed' );console.log( notif );this.evidenceDisplay.removeFromStock(notif.args.card_id);// TODO: move to player if applicable
if (notif.args.useful) {this.evidenceDisplay.removeFromStock(notif.args.card_id, 'evidence_discard');} else {this.evidenceDisplay.removeFromStock(notif.args.card_id, 'evidence_discard');}
<div class="disc yellow" style="top:200px; left:200px"></div>
<div class="disc yellow" style="top:240px; left:223px"></div><div class="disc yellow" style="top:230px; left:223px"></div><div class="disc yellow" style="top:220px; left:223px"></div>
<div class="investigator-placeholder yellow" style="top:300px; left:500px"></div>
<div class="location_slot" style="top:282px; left:348px; transform:rotate(2.5deg);"></div><div class="investigator" style="background: red; top:218px; left:160px"></div><div class="investigator" style="background: gold; top:218px; left:220px"></div><div class="investigator" style="background: lime; top:218px; left:280px"></div><div class="investigator" style="background: magenta; top:218px; left:340px"></div><div class="investigator" style="background: blue; top:218px; left:400px"></div><div class="loc_tokens loc_forestpark" style=""><div class="investigator" style="background: gold;"></div><div class="investigator" style="background: magenta;"></div><div class="investigator" style="background: red;"></div><div class="investigator" style="background: lime;"></div><div class="investigator" style="background: blue;"></div></div>
<div class="loc_tokens loc_chinatown" style=""><div class="investigator" style="background: red;"></div><div class="investigator" style="background: blue;"></div></div><div class="loc_tokens loc_trocadero" style=""><div class="investigator" style="background: red;"></div><div class="investigator" style="background: blue;"></div></div>
1 => array( 'name' => clienttranslate('Shorty'), 'nametr' => self::_('Shorty') ),2 => array( 'name' => clienttranslate('Queeny'), 'nametr' => self::_('Queeny') ),3 => array( 'name' => clienttranslate('Maurice'), 'nametr' => self::_('Maurice') ),
1 => array('name' => clienttranslate('Murder'), 'nametr' => self::_('Murder')),2 => array('name' => clienttranslate('Shorty'), 'nametr' => self::_('Shorty')),3 => array('name' => clienttranslate('Doc'), 'nametr' => self::_('Doc')),4 => array('name' => clienttranslate('Rusty'), 'nametr' => self::_('Rusty')),5 => array('name' => clienttranslate('Bubbles'), 'nametr' => self::_('Bubbles')),6 => array('name' => clienttranslate('Frenchy'), 'nametr' => self::_('Frenchy')),7 => array('name' => clienttranslate('Maurice'), 'nametr' => self::_('Maurice')),8 => array('name' => clienttranslate('Main Street'), 'nametr' => self::_('Main Street')),9 => array('name' => clienttranslate('Waterfront'), 'nametr' => self::_('Waterfront')),10 => array('name' => clienttranslate('Mob Killing'), 'nametr' => self::_('Mob Killing')),11 => array('name' => clienttranslate('Pop'), 'nametr' => self::_('Pop')),12 => array('name' => clienttranslate('Dutch'), 'nametr' => self::_('Dutch')),13 => array('name' => clienttranslate('Knuckles'), 'nametr' => self::_('Knuckles')),14 => array('name' => clienttranslate('Pinky'), 'nametr' => self::_('Pinky')),15 => array('name' => clienttranslate('Queenie'), 'nametr' => self::_('Queenie')),16 => array('name' => clienttranslate('Earl'), 'nametr' => self::_('Earl')),17 => array('name' => clienttranslate('Ocean Drive'), 'nametr' => self::_('Ocean Drive')),18 => array('name' => clienttranslate('Union Square'), 'nametr' => self::_('Union Square')),19 => array('name' => clienttranslate('Little Italy'), 'nametr' => self::_('Little Italy')),20 => array('name' => clienttranslate('Bank Job'), 'nametr' => self::_('Bank Job')),21 => array('name' => clienttranslate('Blackmail'), 'nametr' => self::_('Blackmail')),22 => array('name' => clienttranslate('Police Corruption'), 'nametr' => self::_('Police Corruption')),23 => array('name' => clienttranslate('Forgery'), 'nametr' => self::_('Forgery')),24 => array('name' => clienttranslate('Downtown'), 'nametr' => self::_('Downtown')),25 => array('name' => clienttranslate('China Town'), 'nametr' => self::_('China Town')),26 => array('name' => clienttranslate('Forest Park'), 'nametr' => self::_('Forest Park')),27 => array('name' => clienttranslate('Central Station'), 'nametr' => self::_('Central Station')),28 => array('name' => clienttranslate('Rick’s Cafe'), 'nametr' => self::_('Rick’s Cafe')),29 => array('name' => clienttranslate('Kidnapping'), 'nametr' => self::_('Kidnapping')),30 => array('name' => clienttranslate('Jewellery Heist'), 'nametr' => self::_('Jewellery Heist')),31 => array('name' => clienttranslate('Smuggling'), 'nametr' => self::_('Smuggling')),32 => array('name' => clienttranslate('Protection Racket'), 'nametr' => self::_('Protection Racket')),33 => array('name' => clienttranslate('Roadhouse'), 'nametr' => self::_('Roadhouse')),34 => array('name' => clienttranslate('Trocadero'), 'nametr' => self::_('Trocadero')),35 => array('name' => clienttranslate('Skid Row'), 'nametr' => self::_('Skid Row')),36 => array('name' => clienttranslate('Lakeside'), 'nametr' => self::_('Lakeside')),