mirror of
https://github.com/Relintai/mourne_rcpp_fw.git
synced 2024-12-23 21:16:50 +01:00
676 lines
16 KiB
PHP
676 lines
16 KiB
PHP
|
<?php
|
||
|
|
||
|
class Item_model extends MO_Model
|
||
|
{
|
||
|
const MAX_EQUIPMENT = 20; //19, starts with zero
|
||
|
|
||
|
function __construct()
|
||
|
{
|
||
|
parent::__construct();
|
||
|
}
|
||
|
|
||
|
//this will equip too if needed!
|
||
|
function swap($d1, $d2, $d3, $d4)
|
||
|
{
|
||
|
//data validation
|
||
|
if (!($d1 == 'iv' || $d1 == 'eq') || !($d3 == 'iv' || $d3 == 'eq') || !is_numeric($d2) ||
|
||
|
!is_numeric($d4) || ($d2 < 0 || $d2 > (parent::INVENTORY_MAX - 1)) ||
|
||
|
($d4 < 0 || $d4 > (parent::INVENTORY_MAX - 1)))
|
||
|
return FALSE;
|
||
|
|
||
|
//nothing needs to be done (same item twice)
|
||
|
if (($d1 == $d3) && ($d2 == $d4))
|
||
|
return TRUE;
|
||
|
|
||
|
//hero has to be set from controller!
|
||
|
if (!$this->hero)
|
||
|
return 'Internal error';
|
||
|
|
||
|
//just move in inventory
|
||
|
if ($d1 == 'iv' && $d3 == 'iv')
|
||
|
{
|
||
|
$sql = "SELECT * FROM heros_inventory
|
||
|
WHERE container = 1 AND (slot = ? OR slot = ?) AND charid = ?";
|
||
|
|
||
|
$q = $this->db->query($sql, array($d2, $d4, $this->hero['id']));
|
||
|
|
||
|
$num = $q->num_rows();
|
||
|
|
||
|
if (!$num)
|
||
|
return FALSE;
|
||
|
|
||
|
$res = $q->result_array();
|
||
|
|
||
|
$item1 = $res[0];
|
||
|
|
||
|
if ($num == 2)
|
||
|
$item2 = $res[1];
|
||
|
else
|
||
|
$item2 = FALSE;
|
||
|
|
||
|
if (!$item2)
|
||
|
{
|
||
|
$sql = "UPDATE heros_inventory
|
||
|
SET slot = ?
|
||
|
WHERE id = ?";
|
||
|
|
||
|
if ($item1['slot'] == $d2)
|
||
|
$to = $d4;
|
||
|
else
|
||
|
$to = $d2;
|
||
|
|
||
|
$this->db->query($sql, array($to, $item1['id']));
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
//we only get here it two items needs to be swapped
|
||
|
$sql = "UPDATE heros_inventory SET slot = ? WHERE id = ?";
|
||
|
|
||
|
$this->db->query($sql, array($item1['slot'], $item2['id']));
|
||
|
$this->db->query($sql, array($item2['slot'], $item1['id']));
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
//equipping has to be performed (iv/iv case already handled!)
|
||
|
if ($d1 == 'iv')
|
||
|
$d1 = 1;
|
||
|
else
|
||
|
$d1 = 2;
|
||
|
|
||
|
if ($d3 == 'iv')
|
||
|
$d3 = 1;
|
||
|
else
|
||
|
$d3 = 2;
|
||
|
|
||
|
|
||
|
$sql = "SELECT heros_inventory.id AS invid,heros_inventory.is_soulbound,heros_inventory.stack_size,
|
||
|
heros_inventory.container,heros_inventory.slot,hero_items.*
|
||
|
FROM heros_inventory
|
||
|
LEFT JOIN hero_items on heros_inventory.itemid = hero_items.id
|
||
|
WHERE ((heros_inventory.container = ? AND heros_inventory.slot = ?) OR
|
||
|
(heros_inventory.container = ? AND heros_inventory.slot = ?)) AND
|
||
|
charid = ?";
|
||
|
|
||
|
$q = $this->db->query($sql, array($d1, $d2, $d3, $d4, $this->hero['id']));
|
||
|
|
||
|
$swap = FALSE;
|
||
|
|
||
|
$num = $q->num_rows();
|
||
|
|
||
|
if ($num == 2)
|
||
|
{
|
||
|
$res = $q->result_array();
|
||
|
|
||
|
if ($res[0]['container'] == 1)
|
||
|
{
|
||
|
//0 is in bag
|
||
|
$equip = $res[0];
|
||
|
$deequip = $res[1];
|
||
|
}
|
||
|
elseif ($res[1]['container'] == 1)
|
||
|
{
|
||
|
//1 is in bag
|
||
|
$equip = $res[1];
|
||
|
$deequip = $res[0];
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
//swap
|
||
|
$equip = $res[0];
|
||
|
$deequip = $res[1];
|
||
|
$swap = TRUE;
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$res = $q->row_array();
|
||
|
|
||
|
if ($res['container'] == 1)
|
||
|
{
|
||
|
//not equipped, just equip it
|
||
|
$equip = $res;
|
||
|
$deequip = FALSE;
|
||
|
|
||
|
if ($d1 == 1)
|
||
|
$equipslot = $d4;
|
||
|
else
|
||
|
$equipslot = $d2;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
if ($d1 == 2 && $d3 == 2)
|
||
|
{
|
||
|
//switching between 2 equipslots, but one of them is empty
|
||
|
$equip = $res;
|
||
|
$deequip = FALSE;
|
||
|
|
||
|
if ($equip['slot'] == $d2)
|
||
|
$equipslot = $d4;
|
||
|
else
|
||
|
$equipslot = $d2;
|
||
|
|
||
|
$swap = TRUE;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
//equipped, just deequip it
|
||
|
$equip = FALSE;
|
||
|
$deequip = $res;
|
||
|
|
||
|
if ($d1 == 2)
|
||
|
$deequipslot = $d4;
|
||
|
else
|
||
|
$deequipslot = $d2;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$this->load->helper('equipment');
|
||
|
|
||
|
if ($equip)
|
||
|
{
|
||
|
//$cbe = can be equipped
|
||
|
$cbe = can_be_equipped($equip, $this->hero);
|
||
|
|
||
|
if (!isset($cbe))
|
||
|
return "Internal error! $cbe is not set!";
|
||
|
}
|
||
|
|
||
|
//each of these functions has to return!
|
||
|
|
||
|
//for switching items from inventory
|
||
|
if ($equip && $deequip && !$swap)
|
||
|
{
|
||
|
if ($cbe['can'] === TRUE)
|
||
|
{
|
||
|
if ($cbe['allowed_slot1'] == $deequip['slot'] || $cbe['allowed_slot2'] == $deequip['slot'])
|
||
|
$equipslot = $deequip['slot'];
|
||
|
|
||
|
if (!isset($equipslot))
|
||
|
return "That item cannot be equipped into that slot.";
|
||
|
|
||
|
if ($cbe['two_handed'])
|
||
|
{
|
||
|
$eq = $this->prep_two_hand();
|
||
|
|
||
|
if ($eq !== TRUE)
|
||
|
return $eq;
|
||
|
}
|
||
|
|
||
|
$this->hero_remove_stats($deequip);
|
||
|
$this->hero_add_stats($equip);
|
||
|
|
||
|
$sql = "UPDATE heros_inventory SET container = ?, slot = ? WHERE id = ?";
|
||
|
|
||
|
//deequipping
|
||
|
$this->db->query($sql, array(1, $equip['slot'], $deequip['invid']));
|
||
|
|
||
|
//equip
|
||
|
$this->db->query($sql, array(2, $equipslot, $equip['invid']));
|
||
|
|
||
|
$this->calc_hero_stats();
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
return $cbe['message'];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//switching between 2 slots
|
||
|
if ($equip && $deequip && $swap)
|
||
|
{
|
||
|
if (!(($cbe['allowed_slot1'] == $equip['slot'] || $cbe['allowed_slot2'] == $equip['slot']) &&
|
||
|
($cbe['allowed_slot1'] == $deequip['slot'] || $cbe['allowed_slot2'] == $deequip['slot'])))
|
||
|
return "Those items cannot be swapped";
|
||
|
|
||
|
$sql = "UPDATE heros_inventory SET slot = ? WHERE id = ?";
|
||
|
|
||
|
$this->db->query($sql, array($equip['slot'], $deequip['invid']));
|
||
|
$this->db->query($sql, array($deequip['slot'], $equip['invid']));
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
//just deequip
|
||
|
if ($deequip && !$swap)
|
||
|
{
|
||
|
$sql = "UPDATE heros_inventory SET container = 1, slot = ? WHERE id = ?";
|
||
|
|
||
|
$this->db->query($sql, array($deequipslot, $deequip['invid']));
|
||
|
|
||
|
$this->hero_remove_stats($deequip);
|
||
|
$this->calc_hero_stats();
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
//just equip
|
||
|
if ($equip && !$swap)
|
||
|
{
|
||
|
if (!$cbe['can'])
|
||
|
return $cbe['message'];
|
||
|
|
||
|
if (!($cbe['allowed_slot1'] == $equipslot || $cbe['allowed_slot2'] == $equipslot))
|
||
|
return 'That item cannot be equipped into that slot.';
|
||
|
|
||
|
if ($cbe['two_handed'])
|
||
|
{
|
||
|
$eq = $this->prep_two_hand();
|
||
|
|
||
|
if ($eq !== TRUE)
|
||
|
return $eq;
|
||
|
}
|
||
|
|
||
|
$sql = "UPDATE heros_inventory SET container = 2, slot = ? WHERE id = ?";
|
||
|
|
||
|
$this->db->query($sql, array($equipslot, $equip['invid']));
|
||
|
|
||
|
$this->hero_add_stats($equip);
|
||
|
$this->calc_hero_stats();
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
//switching between two equipslots, when one of the slots is empty
|
||
|
if ($swap)
|
||
|
{
|
||
|
if (!($cbe['allowed_slot1'] == $equipslot || $cbe['allowed_slot2'] == $equipslot))
|
||
|
return "That item cannot be equipped into that slot";
|
||
|
|
||
|
$sql = "UPDATE heros_inventory SET slot = ? WHERE id = ?";
|
||
|
|
||
|
$this->db->query($sql, array($equipslot, $equip['invid']));
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
//unequips the off hand, if the user wants to equip a two-hand wep
|
||
|
function prep_two_hand()
|
||
|
{
|
||
|
$sql = "SELECT heros_inventory.id AS invid,heros_inventory.is_soulbound,heros_inventory.stack_size,
|
||
|
heros_inventory.container,heros_inventory.slot,hero_items.*
|
||
|
FROM heros_inventory
|
||
|
LEFT JOIN hero_items on heros_inventory.itemid = hero_items.id
|
||
|
WHERE (heros_inventory.container = 2 AND heros_inventory.slot = 17) AND
|
||
|
charid = ?";
|
||
|
|
||
|
$q = $this->db->query($sql, array($this->hero['id']));
|
||
|
|
||
|
if (!$q->num_rows())
|
||
|
return TRUE;
|
||
|
|
||
|
$res = $q->row_array();
|
||
|
|
||
|
//find an empty place
|
||
|
$sql = "SELECT * FROM heros_inventory WHERE container = 1 AND charid = ?";
|
||
|
|
||
|
$q = $this->db->query($sql, array($this->hero['id']));
|
||
|
|
||
|
$slot = FALSE;
|
||
|
|
||
|
if ($q->num_rows())
|
||
|
{
|
||
|
$inv = $q->result_array();
|
||
|
|
||
|
for ($i = 0; $i < parent::INVENTORY_MAX; $i++)
|
||
|
{
|
||
|
$found = FALSE;
|
||
|
|
||
|
foreach ($inv as $row)
|
||
|
{
|
||
|
if ($row['slot'] == $i)
|
||
|
{
|
||
|
$found = TRUE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!$found)
|
||
|
{
|
||
|
$slot = $i;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$slot = 0;
|
||
|
}
|
||
|
|
||
|
if ($slot === FALSE)
|
||
|
return "You don't have any space in your inventory, to unequip the off hand.";
|
||
|
|
||
|
$this->hero_remove_stats($res);
|
||
|
|
||
|
$sql = "UPDATE heros_inventory SET slot = ?, container = 1 WHERE id = ?";
|
||
|
|
||
|
$this->db->query($sql, array($slot, $res['invid']));
|
||
|
|
||
|
return TRUE;
|
||
|
|
||
|
}
|
||
|
|
||
|
//returns ['equipment'], ['money'], ['inventory']
|
||
|
function get_inventory($charid)
|
||
|
{
|
||
|
$sql = "SELECT heros_inventory.is_soulbound,heros_inventory.stack_size,heros_inventory.container,
|
||
|
heros_inventory.slot,hero_items.*
|
||
|
FROM heros_inventory
|
||
|
LEFT JOIN hero_items ON heros_inventory.itemid=hero_items.id
|
||
|
WHERE charid = ?";
|
||
|
|
||
|
$q = $this->db->query($sql, array($charid));
|
||
|
|
||
|
if ($q->num_rows())
|
||
|
$res = $q->result_array();
|
||
|
else
|
||
|
$res = FALSE;
|
||
|
|
||
|
$found = FALSE;
|
||
|
for ($i = 0; $i < parent::INVENTORY_MAX; $i++)
|
||
|
{
|
||
|
if ($res)
|
||
|
{
|
||
|
foreach ($res as $row)
|
||
|
{
|
||
|
if ($row['container'] == 1 && $row['slot'] == $i)
|
||
|
{
|
||
|
$data[] = $row;
|
||
|
$found = TRUE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!$found)
|
||
|
{
|
||
|
$data[] = FALSE;
|
||
|
}
|
||
|
|
||
|
$found = FALSE;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$data[] = FALSE;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//sort it
|
||
|
|
||
|
$r['inventory'] = $data;
|
||
|
|
||
|
if ($res)
|
||
|
{
|
||
|
foreach ($res as $row)
|
||
|
{
|
||
|
if ($row['container'] == 0)
|
||
|
{
|
||
|
$money = $row;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (isset($money))
|
||
|
$r['money'] = $money;
|
||
|
else
|
||
|
$r['money'] = 0;
|
||
|
|
||
|
//equipment
|
||
|
$found = FALSE;
|
||
|
for ($i = 0; $i < self::MAX_EQUIPMENT; $i++)
|
||
|
{
|
||
|
if ($res)
|
||
|
{
|
||
|
foreach ($res as $row)
|
||
|
{
|
||
|
if ($row['container'] == 2 && $row['slot'] == $i)
|
||
|
{
|
||
|
$eq[] = $row;
|
||
|
$found = TRUE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!$found)
|
||
|
{
|
||
|
$eq[] = FALSE;
|
||
|
}
|
||
|
|
||
|
$found = FALSE;
|
||
|
}
|
||
|
else
|
||
|
$eq[] = FALSE;
|
||
|
}
|
||
|
|
||
|
$r['equipment'] = $eq;
|
||
|
|
||
|
//sort it, if needed
|
||
|
$found = FALSE;
|
||
|
if ($res)
|
||
|
{
|
||
|
for ($i = 0; $i < self::MAX_EQUIPMENT; $i++)
|
||
|
{
|
||
|
foreach ($eq as $row)
|
||
|
{
|
||
|
if ($row && $row['slot'] == $i)
|
||
|
{
|
||
|
$seq[] = $row;
|
||
|
$found = TRUE;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!$found)
|
||
|
{
|
||
|
$seq[] = FALSE;
|
||
|
}
|
||
|
|
||
|
$found = FALSE;
|
||
|
}
|
||
|
|
||
|
$r['equipment'] = $seq;
|
||
|
}
|
||
|
|
||
|
return $r;
|
||
|
|
||
|
}
|
||
|
|
||
|
function add_item_admin($data)
|
||
|
{
|
||
|
$sql = "INSERT INTO hero_items
|
||
|
VALUES(default,
|
||
|
" . $this->db->escape($data['name']) . ",
|
||
|
" . $this->db->escape($data['icon']) . ",
|
||
|
'" . $data['quality'] . "',
|
||
|
'" . $data['itemlevel'] . "',
|
||
|
'" . $data['stack'] . "',
|
||
|
'" . $data['type'] . "',
|
||
|
'" . $data['subtype'] . "',
|
||
|
'" . $data['subsubtype'] . "',
|
||
|
'" . $data['sell_price'] . "',
|
||
|
'" . $data['buy_price'] . "',
|
||
|
" . $this->db->escape($data['text']) . ",
|
||
|
'" . $data['soulbound'] . "',
|
||
|
'" . $data['spell'] . "',
|
||
|
'" . $data['proc'] . "',
|
||
|
'" . $data['req_level'] . "',
|
||
|
'" . $data['req_class'] . "',
|
||
|
'" . $data['nomod_max_health'] . "',
|
||
|
'" . $data['nomod_max_mana'] . "',
|
||
|
'" . $data['percent_max_health'] . "',
|
||
|
'" . $data['percent_max_mana'] . "',
|
||
|
'" . $data['nomod_agility'] . "',
|
||
|
'" . $data['nomod_strength'] . "',
|
||
|
'" . $data['nomod_stamina'] . "',
|
||
|
'" . $data['nomod_intellect'] . "',
|
||
|
'" . $data['nomod_spirit'] . "',
|
||
|
'" . $data['percent_agility'] . "',
|
||
|
'" . $data['percent_strength'] . "',
|
||
|
'" . $data['percent_stamina'] . "',
|
||
|
'" . $data['percent_intellect'] . "',
|
||
|
'" . $data['percent_spirit'] . "',
|
||
|
'" . $data['nomod_attackpower'] . "',
|
||
|
'" . $data['percent_attackpower'] . "',
|
||
|
'" . $data['nomod_armor'] . "',
|
||
|
'" . $data['percent_armor'] . "',
|
||
|
'" . $data['nomod_dodge'] . "',
|
||
|
'" . $data['nomod_parry'] . "',
|
||
|
'" . $data['hit'] . "',
|
||
|
'" . $data['nomod_crit'] . "',
|
||
|
'" . $data['nomod_damage_min'] . "',
|
||
|
'" . $data['nomod_damage_max'] . "',
|
||
|
'" . $data['percent_damage_min'] . "',
|
||
|
'" . $data['percent_damage_max'] . "',
|
||
|
'" . $data['nomod_ranged_damage_min'] . "',
|
||
|
'" . $data['nomod_ranged_damage_max'] . "',
|
||
|
'" . $data['percent_ranged_damage_min'] . "',
|
||
|
'" . $data['percent_ranged_damage_max'] . "',
|
||
|
'" . $data['nomod_heal_min'] . "',
|
||
|
'" . $data['nomod_heal_max'] . "',
|
||
|
'" . $data['percent_heal_min'] . "',
|
||
|
'" . $data['percent_heal_max'] . "',
|
||
|
'" . $data['life_leech'] . "',
|
||
|
'" . $data['mana_leech'] . "',
|
||
|
'" . $data['level_modifier'] . "',
|
||
|
'" . $data['level_modifier_max'] . "',
|
||
|
'" . $data['data1'] . "',
|
||
|
'" . $data['data2'] . "')";
|
||
|
|
||
|
$this->db->query($sql);
|
||
|
|
||
|
$this->_create_sql($sql);
|
||
|
}
|
||
|
|
||
|
function edit_item_admin($data)
|
||
|
{
|
||
|
$sql = "UPDATE hero_items
|
||
|
SET name = " . $this->db->escape($data['name']) . ",
|
||
|
icon = " . $this->db->escape($data['icon']) . ",
|
||
|
quality = '" . $data['quality'] . "',
|
||
|
itemlevel = '" . $data['itemlevel'] . "',
|
||
|
stack = '" . $data['stack'] . "',
|
||
|
type = '" . $data['type'] . "',
|
||
|
subtype = '" . $data['subtype'] . "',
|
||
|
subsubtype = '" . $data['subsubtype'] . "',
|
||
|
sell_price = '" . $data['sell_price'] . "',
|
||
|
buy_price = '" . $data['buy_price'] . "',
|
||
|
text = " . $this->db->escape($data['text']) . ",
|
||
|
soulbound = '" . $data['soulbound'] . "',
|
||
|
spell = '" . $data['spell'] . "',
|
||
|
proc = '" . $data['proc'] . "',
|
||
|
req_level = '" . $data['req_level'] . "',
|
||
|
req_class = '" . $data['req_class'] . "',
|
||
|
nomod_max_health = '" . $data['nomod_max_health'] . "',
|
||
|
nomod_max_mana = '" . $data['nomod_max_mana'] . "',
|
||
|
percent_max_health = '" . $data['percent_max_health'] . "',
|
||
|
percent_max_mana = '" . $data['percent_max_mana'] . "',
|
||
|
nomod_agility = '" . $data['nomod_agility'] . "',
|
||
|
nomod_strength = '" . $data['nomod_strength'] . "',
|
||
|
nomod_stamina = '" . $data['nomod_stamina'] . "',
|
||
|
nomod_intellect = '" . $data['nomod_intellect'] . "',
|
||
|
nomod_spirit = '" . $data['nomod_spirit'] . "',
|
||
|
percent_agility = '" . $data['percent_agility'] . "',
|
||
|
percent_strength = '" . $data['percent_strength'] . "',
|
||
|
percent_Stamina = '" . $data['percent_stamina'] . "',
|
||
|
percent_intellect = '" . $data['percent_intellect'] . "',
|
||
|
percent_spirit = '" . $data['percent_spirit'] . "',
|
||
|
nomod_attackpower = '" . $data['nomod_attackpower'] . "',
|
||
|
percent_attackpower = '" . $data['percent_attackpower'] . "',
|
||
|
nomod_armor = '" . $data['nomod_armor'] . "',
|
||
|
percent_armor = '" . $data['percent_armor'] . "',
|
||
|
nomod_dodge = '" . $data['nomod_dodge'] . "',
|
||
|
nomod_parry = '" . $data['nomod_parry'] . "',
|
||
|
hit = '" . $data['hit'] . "',
|
||
|
nomod_Crit = '" . $data['nomod_crit'] . "',
|
||
|
nomod_damage_min = '" . $data['nomod_damage_min'] . "',
|
||
|
nomod_damage_max = '" . $data['nomod_damage_max'] . "',
|
||
|
percent_damage_min = '" . $data['percent_damage_min'] . "',
|
||
|
percent_damage_max = '" . $data['percent_damage_max'] . "',
|
||
|
nomod_ranged_damage_min = '" . $data['nomod_ranged_damage_min'] . "',
|
||
|
nomod_ranged_damage_max = '" . $data['nomod_ranged_damage_max'] . "',
|
||
|
percent_ranged_damage_min = '" . $data['percent_ranged_damage_min'] . "',
|
||
|
percent_ranged_damage_max = '" . $data['percent_ranged_damage_max'] . "',
|
||
|
nomod_heal_min = '" . $data['nomod_heal_min'] . "',
|
||
|
nomod_heal_max = '" . $data['nomod_heal_max'] . "',
|
||
|
percent_heal_min = '" . $data['percent_heal_min'] . "',
|
||
|
percent_heal_max = '" . $data['percent_heal_max'] . "',
|
||
|
life_leech = '" . $data['life_leech'] . "',
|
||
|
mana_leech = '" . $data['mana_leech'] . "',
|
||
|
level_modifier = '" . $data['level_modifier'] . "',
|
||
|
level_modifier_max = '" . $data['level_modifier_max'] . "',
|
||
|
data1 = '" . $data['data1'] . "',
|
||
|
data2 = '" . $data['data2'] . "'
|
||
|
WHERE id = '" . $data['id'] . "'";
|
||
|
|
||
|
$this->db->query($sql);
|
||
|
|
||
|
$this->_create_sql($sql);
|
||
|
}
|
||
|
|
||
|
function get_item_admin($id)
|
||
|
{
|
||
|
$sql = "SELECT * FROM hero_items WHERE id = ?";
|
||
|
|
||
|
$q = $this->db->query($sql, array($id));
|
||
|
|
||
|
if ($q->num_rows())
|
||
|
return $q->row_array();
|
||
|
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
function all_items_admin()
|
||
|
{
|
||
|
$sql = "SELECT * FROM hero_items";
|
||
|
|
||
|
$q = $this->db->query($sql);
|
||
|
|
||
|
if ($q->num_rows())
|
||
|
return $q->result_array();
|
||
|
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
function all_items_drop_admin()
|
||
|
{
|
||
|
$sql = "SELECT * FROM hero_items";
|
||
|
|
||
|
$q = $this->db->query($sql);
|
||
|
|
||
|
if (!$q->num_rows())
|
||
|
return FALSE;
|
||
|
|
||
|
$res = $q->result_array();
|
||
|
|
||
|
foreach ($res as $row)
|
||
|
{
|
||
|
$data[$row['id']] = $row['name'];
|
||
|
}
|
||
|
|
||
|
if (!isset($data))
|
||
|
return FALSE;
|
||
|
|
||
|
return $data;
|
||
|
}
|
||
|
|
||
|
function get_class_item_templates($classid)
|
||
|
{
|
||
|
$sql = "SELECT * FROM hero_inventory_templates WHERE classid = ?";
|
||
|
|
||
|
$q = $this->db->query($sql, array($classid));
|
||
|
|
||
|
if ($q->num_rows())
|
||
|
return $q->result_array();
|
||
|
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
//nowhitesp
|