Thread: Mys 1.3.x Stat/SKill System
View Single Post
  #35  
Old 06-29-2014, 06:32 PM
Hwona's Avatar
Hwona Hwona is offline
Member
 
Join Date: Mar 2013
Posts: 620
Gender: Female
Credits: 50,405
Hwona is on a distinguished road
Default

Try this code:
PHP Code:
<?php

use Resource\Native\Integer;

class 
ShopController extends AppController{

    const 
PARAM "shop";

    public function 
__construct(){
        
parent::__construct("member");    
        
$mysidia Registry::get("mysidia");        
        
$mysidia->user->getstatus();
        if(
$mysidia->user->status->canshop == "no"){
            throw new 
NoPermissionException($mysidia->lang->denied);
        }
        if(
$mysidia->input->action() != "index" and !$mysidia->input->get("shop")){
            throw new 
InvalidIDException($mysidia->lang->global_id);
        }
    }
    
    public function 
index(){
        
$mysidia Registry::get("mysidia");
        
$shopList = new Shoplist($mysidia->input->post("shoptype"));
        if(
$shopList->gettotal() == 0) throw new InvalidIDException("none");
        
$this->setField("shopList"$shopList);
    }
    
    public function 
browse(){
        
$mysidia Registry::get("mysidia");        
        
$shoptype $mysidia->db->select("shops", array("shoptype"), "shopname = '{$mysidia->input->get("shop")}'")->fetchColumn();
        
$shoplist = new Shoplist($shoptype);
        
$shop $shoplist->createshop($mysidia->input->get("shop"));
        
$this->setField("shop"$shop);
    }
    
    public function 
purchase(){
        
$mysidia Registry::get("mysidia");
        if(!
$mysidia->input->post("buy")) throw new InvalidIDException($mysidia->lang->global_id);
        
        if(
$mysidia->input->post("shoptype") == "itemshop"$this->purchaseItem();
        
        elseif(
$mysidia->input->post("shoptype") == "adoptshop"$this->purchaseAdopt();
        
        
        
        
        
        
        
        else throw new 
InvalidActionException($mysidia->lang->global_action);
    }
    
    private function 
purchaseItem(){
        
$mysidia Registry::get("mysidia");        
        
$shop = new Itemshop($mysidia->input->get("shop"));
        
$item $shop->getitem($mysidia->input->post("itemname"));
        
$item->assign($mysidia->user->username);
        
$oldquantity $item->getoldquantity();
        
$newquantity $oldquantity $mysidia->input->post("quantity");
            
        if(!
is_numeric($mysidia->input->post("quantity"))){
            throw new 
InvalidActionException($mysidia->lang->invalid_quantity);
        }
        elseif(
$newquantity $item->cap){
            throw new 
InvalidActionException($mysidia->lang->full_quantity); 
        }
        else{
            
$shop->purchase($item);
            
$this->setField("cost", new Integer($item->getcost($shop->salestax)));
        }        
    }
    
    private function 
purchaseAdopt(){
        
$mysidia Registry::get("mysidia");
        
$shop = new Adoptshop($mysidia->input->get("shop"));
        
$adopt $shop->getadopt($mysidia->input->post("adopttype"));
        
$statname rand(minimum value,maximum value) ;
        
$adopt->assign($mysidia->user->username);            
        
$shop->purchase($adopt);
        
$mysidia->db->update("owned_adoptables",array("statname" => $statname),"aid = $offspringID");  
        
$this->setField("cost", new Integer($adopt->getcost($shop->salestax)));        
    }
}
?>
Also, the breeding sounds great, but if you're going to implement the training and award system I have on my site, you'll also have to limit the number of training items that can be used on an adopt.
__________________
Reply With Quote