? Show All Error writing cache file
RH
$SAVE_VERSION = 1; // XXX 
RH
$REPLAY_VERSION = 1; // XXX 
RH
var obj = this.map._actionableAtter(id, 0, 0, 0) 
RH
var players = ['', 'red', 'blue', 'tan', 'green', 'orange', 'purple', 'teal', 'pink'] 
RH
state: this.rpc._createCombatState(combat, this.player), 
RH
return this.rpc._controlCreature(this.combat, creature) 
RH
state: this.rpc._createCombatState(combat, this.player), 
RH
move this and other constants to _opt 
RH
to databank? 
RH
artifact ID 
RH
return this._pathFind._neighboursOf([ 
RH
sound = 'ATK2' // XXX exceptions to file names should be defined in databank, not in code 
RH
var def = def || 'CSGRCK' // XXX 
RH
var def = def || 'SGEXPL' // XXX 
RH
var sound = sound || 'WALLHIT' // XXX 
RH
var def = def || 'C09SPW0' // XXX 
RH
var sound = sound || 'GOODMRLE' // XXX 
RH
var def = def || 'C14SPE0' // XXX 
RH
var sound = sound || 'BADMRLE' // XXX 
RH
var def = def || 'C09SPA0' // XXX 
RH
var sound = sound || 'GOODLUCK' // XXX 
RH
var def = def || 'SP12_' // XXX 
RH
var sound = sound || 'REGENER' // XXX 
RH
var distance = pathFind._heuristic(path[pathIndex - 1], path[pathIndex]) 
RH
'SP09_' 
RH
var ai = !angle ? 1 : angle <= 27 ? 2 : angle <= 45 ? 3 : angle <= 72 ? 4 : 5 
RH
bottom: 560, // XXX 
RH
if (pos[0] == 12 && pos[1] == 10) { // XXX 
RH
if (cur[0] == 9 && cur[1] == 5) { // XXX 
RH
} else if (walls.length && ((cur[0] == 10 && cur[1] == 5) || (cur[0] == 12 && cur[1] == 10)) && this.cmap._opt.mouseSide == 'bl') { // XXX 
RH
switch (cr.get('special')) { // XXX 
RH
var REPLAY_VERSION = 1 // XXX 
RH
case 7: // XXX
RH
var msg = _.format(this.cx.s('map', '%s, you only have %d days left to capture a town or you will be banished from this land.'), this.rules.databank.players.atCoords(this.pl.get('player'), 0, 0, 'name', 0), 7 - now) // XXX 
RH
7 hardcoded; to databank? 
RH
var el = box._inlineBox().appendTo(box.el) // XXX 
RH
while (slot < 7 && slot < sub.size().x && sub.anyAtCoords(slot, 0, 0, 0) && sub.atCoords(slot, 0, 0, 'creature', 0) != this.creature()) { 
RH
var el = box._inlineBox().appendTo(box.el) // XXX 
RH
var el = box._inlineBox().appendTo(box.el) // XXX 
RH
// Determined empirically. XXX to databank? 
RH
garList._store.release() // XXX; also grep for other /\._store\./ occurrences 
RH
var backgrounds = ['TPTHBKCS', 'TPTHBKRM', 'TPTHBKTW', 'TPTHBKIN', 
RH
while (slot < 7 && slot < sub.size().x && sub.anyAtCoords(slot, 0, 0, 0) && sub.atCoords(slot, 0, 0, 'creature', 0) != this.creature()) { 
RH
duplicates elsewhere; move "trophy exclusion list" to databank 
RH
move limit to databank 
RH
_.times(5, function (level) { // XXX 
RH
var windows = ['TPMAGECS', 'TPMAGERM', 'TPMAGETW', 'TPMAGEIN', 
RH
var byLevel = [0, 0, 0, 0, 0, 0] // XXX 
RH
opt.slider = {height: 7} // XXX 
RH
box._markUp_BonusesImages(null, box.el, {bonuses: {heroes: {0: {artifacts: [this.get('artifact')]}}}}) 
RH
icon detection logic is similar to H3.DOM.MainMenu's 
RH
vehicle characteristics 
RH
if (this.get('player').heroes.length >= 8) { // XXX limit 
RH
hardcoded class ID 
RH
this.rules._erect(town.get('id'), [args.building], calc._buildings._calc.get('affectors')) // XXX 
RH
var max = doCalc(Calculator.Effect.GenericNumber, c.cx.map.constants.effect.target.spellMastery) >= c.cx.map.constants.spell.mastery.advanced ? 5 : 4 
RH
51 case c.rules.artifactSlotsID.warMachine1: 
RH
var spots = [10, 10, 9, 9, 8, null, 8, 9, 9, 10, 10] // XXX 
RH
var sx = creature.get('x') - 1 // XXX 
RH
return o.value = Math.max(10, o.subCalc('knowledge').calc.updateIfNeeded().get('value') * 10) // XXX consts 
RH
prop + (level + 1 < 10 ? 'L' : 'H'), // XXX 10 
RH
var markets = 5 // Trading Post; XXX to databank 
RH
var rates = [ // XXX to databank 
RH
strings here and above 
RH
var obj = this.map._actionableAtter(_.sample(pool), 0, 0, 0) 
RH
gar.extendTo(7-1) // XXX 
RH
if (slot >= 7) { // XXX 
RH
if (skills.length < 8) { // XXX 
RH
while (potential.length < 2) { // XXX 
RH
this.rpc.do_heroLevelSkill({hero: hero.get('id'), skill: potential[0].skill}) 
RH
_.times(5 /*XXX*/, function (level) { 
RH
taken from SoD editor's help 
RH
var size = 2 // XXX to databank 
RH
to databank? Determined empirically. 
RH
if (now == 7) { // XXX 
RH
!!self.rpc._endTurn(self.cx, self.map.players.nested(lastPlayer)) 
RH
sub.extendTo(7 - 1) // XXX 
RH
var slots = placement == 'middle' ? 5 : 7 
RH
sub.extendTo(7-1) // XXX 
RH
if (slot >= 7 /*XXX*/) { return true } 
RH
schema: store._schema == superStore._subSchemas[prop] ? null : store._schema, 
RH
var maxSlots = 7 // XXX 
RH
gar.extendTo(7-1) // XXX 
RH
if (slot >= 7) { // XXX 
RH
public $won = false; // false; 0/1/2 loss/victory/both (XXX to const?) 
RH
make these indexes consts (same for $animation) 
RH
consts 
RH
//> creature_hitChance array associative type => int % multiplier `- for wall attacks (hurl/ram); 0 = chance of a strike doing no damage, 1 = hitting another wall (ignored if there're none or if 'ram'; if picked, a wall is chosen from all alive walls' combined creature_hitChance 2 chances), 2 = hitting the user-specified wall (XXX to const?) 
RH
slot 
RH
practically, this stuff should be part of the databank; extract gameplay-specific rules to a separate CSS file included from the databank */