Beispiel #1
0
 private static function slapB($userid, $targetid, $adverb, $dmg_adv, $verb, $dmg_verb, $adjective, $dmg_adj, $item, $dmg_item, $total_damage)
 {
     //		echo "userid $userid slaps $targetid\n";
     if (false === ($adverb = Dog_SlapItem::getOrCreate('adverb', $adverb, $dmg_adv))) {
         return false;
     }
     if (false === ($verb = Dog_SlapItem::getOrCreate('verb', $verb, $dmg_verb))) {
         return false;
     }
     if (false === ($adjective = Dog_SlapItem::getOrCreate('adjective', $adjective, $dmg_adj))) {
         return false;
     }
     if (false === ($item = Dog_SlapItem::getOrCreate('item', $item, $dmg_item))) {
         return false;
     }
     if (false === self::table(__CLASS__)->insertAssoc(array('lsh_id' => 0, 'lsh_date' => GWF_Time::getDate(GWF_Date::LEN_SECOND), 'lsh_slapper' => $userid, 'lsh_target' => $targetid, 'lsh_adverb' => $adverb->getID(), 'lsh_verb' => $verb->getID(), 'lsh_adjective' => $adjective->getID(), 'lsh_item' => $item->getID(), 'lsh_damage' => $total_damage))) {
         return false;
     }
     $fake_slap = $userid == 0 || $targetid == 0;
     if (!$fake_slap) {
         Dog_SlapStats::increaseStats($userid, $adverb->getID(), 1);
         Dog_SlapStats::increaseStats($userid, $verb->getID(), 1);
         Dog_SlapStats::increaseStats($userid, $adjective->getID(), 1);
         Dog_SlapStats::increaseStats($userid, $item->getID(), 1);
     }
     $column = $fake_slap ? 'lsi_count_a' : 'lsi_count_as';
     if (false === $adverb->increase($column, 1)) {
         return false;
     }
     if (false === $verb->increase($column, 1)) {
         return false;
     }
     if (false === $adjective->increase($column, 1)) {
         return false;
     }
     if (false === $item->increase($column, 1)) {
         return false;
     }
     return true;
 }