Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix pzone #7

Open
wants to merge 27 commits into
base: gh-pages
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
a puzzle maker for ygopro.
<h1>PuzzleMaker</h1>
a puzzle maker for ygopro.<br>
<br>
<br>
local test:<br>
need:vcredist_2008_x86_9.0.30729<br>
1.copy cdb to "test/db"
1.run "php_test.bat" (can modfity port)<br>
2.open "http://localhost/test.html"<br>
Binary file added images/pzone_l.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/pzone_r.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ <h1>残局编辑器</h1>
<input id="AI_LP" type="text" placeholder="AILP" maxLength=9 value="8000" onkeydown="return checkNums()"/>
</div>

<img id="detail_image" src="images/unknow.jpg" alt=""/>
<img id="detail_image" src="images/unknow.jpg" alt="" onerror="noimage(this)"/>
<!--<label id="detail_label"></label>-->
<textarea id="detail_textarea" readonly></textarea>

Expand Down
53 changes: 37 additions & 16 deletions javascripts/download.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,18 @@ function downloadURL(){
var player_LP = document.getElementById("Player_LP").value;
var AI_LP = document.getElementById("AI_LP").value;
var DUEL_PSEUDO_SHUFFLE = document.getElementById("check_shuffle").checked;
var use_simple_ai = document.getElementById("use_simple_ai").checked;
var non_puzzle = document.getElementById("non_puzzle").checked;
var str = "--created by ygopro puzzle maker (web) \r\n";
str += "Debug.SetAIName(\"" + AI_name + "\")\r\n";
var opstr = "DUEL_ATTACK_FIRST_TURN";
if(DUEL_PSEUDO_SHUFFLE){
str += "Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI+DUEL_PSEUDO_SHUFFLE)\r\n";
opstr += "+DUEL_PSEUDO_SHUFFLE";
}
else {
str += "Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI)\r\n";
if(use_simple_ai) {
opstr += "+DUEL_SIMPLE_AI"
}
str += "Debug.ReloadFieldBegin(" + opstr + ")\r\n";
str += "Debug.SetPlayerInfo(0," + player_LP + ",0,0)\r\n";
str += "Debug.SetPlayerInfo(1," + AI_LP + ",0,0)\r\n" ;
var action = "";//包括addCounter、Equip、setTarget等等
Expand All @@ -30,6 +34,14 @@ function downloadURL(){
location = "LOCATION_SZONE";
place = 5;
}
if(location == "LOCATION_PZONE_L"){
location = "LOCATION_SZONE";
place = 7;
}
if(location == "LOCATION_PZONE_R"){
location = "LOCATION_SZONE";
place = 6;
}
var thumbs = fields[i].getElementsByClassName("thumb");
for(var j=0; j < thumbs.length; j++){
var index;
Expand All @@ -46,9 +58,8 @@ function downloadURL(){
var be_continuous_target = card_info.be_continuous_target;
var be_equip_target = card_info.be_equip_target;
if(card_counters.length || continuous_target.length || equip_target.length || be_continuous_target.length || be_equip_target.length
||card_info.attack != undefined ||card_info.base_attack != undefined ||card_info.defence != undefined ||card_info.base_defence != undefined
||card_info.level != undefined
){
|| card_info.attack != undefined || card_info.base_attack != undefined || card_info.defence != undefined || card_info.base_defence != undefined
|| card_info.level != undefined || card_info.summon_type != ""){
str += card_info.cn + "=";
}
if(card_counters.length){
Expand Down Expand Up @@ -83,44 +94,54 @@ function downloadURL(){
if(card_info.level != undefined){
action += change_level(card_info.cn, card_info.level);
}
if(card_info.summon_type != ""){
action += set_summon_info(card_info.cn, card_info.summon_type, card_info.summon_location);
}
if(card_info.disable_revivelimit){
str += "Debug.AddCard(" + card_info.card_id + "," + player + "," + player + "," + location + "," + place + "," + card_info.position + "," + card_info.disable_revivelimit + ")\r\n";
str += "Debug.AddCard(" + card_info.card_id + "," + player + "," + player + "," + location + "," + place + "," + card_info.position + "," + card_info.disable_revivelimit + ")--" + card_info.name + "\r\n";
}
else {
str += "Debug.AddCard(" + card_info.card_id + "," + player + "," + player + "," + location + "," + place + "," + card_info.position + ")\r\n";
str += "Debug.AddCard(" + card_info.card_id + "," + player + "," + player + "," + location + "," + place + "," + card_info.position + ")--" + card_info.name + "\r\n";
}
}
}
str += "Debug.ReloadFieldEnd()\r\n" ;
for(var i = 0; i < hintMsgs.length; i++){
str += "Debug.ShowHint(\"" + hintMsgs[i] + "\")\r\n" ;
}
str += "aux.BeginPuzzle()\r\n";
if(!non_puzzle){
str += "aux.BeginPuzzle()\r\n";
}
str += action;
//this.href = "http://my-card.in/singles/new.lua?name=Untitled&script=" + encodeURIComponent(str);
document.getElementById("single_name").value = filename;
document.getElementById("single_script").value = str;
document.getElementById("download_form").submit();
}

function set_attack(cn, attack){
return set_value(cn, "EFFECT_SET_ATTACK", attack);
}
function set_base_attack(cn, base_attack){
return set_value(cn, "EFFECT_SET_BASE_ATTACK", base_attack);
}
function set_defence(cn, defence){
return set_value(cn, "EFFECT_SET_DEFENCE", defence);
return set_value(cn, "EFFECT_SET_DEFENSE", defence);
}
function set_base_defence(cn, base_defence){
return set_value(cn, "EFFECT_SET_BASE_DEFENCE", base_defence);
return set_value(cn, "EFFECT_SET_BASE_DEFENSE", base_defence);
}
function change_level(cn, level){
return set_value(cn, "EFFECT_CHANGE_LEVEL", level);
}
function set_value(cn, code, value){
return "e=Effect.CreateEffect("+ cn +") \r\n" +
return "e=Effect.CreateEffect(" + cn + ") \r\n" +
"e:SetType(EFFECT_TYPE_SINGLE) \r\n" +
"e:SetCode("+ code +") \r\n" +
"e:SetValue("+ value +") \r\n" +
""+ cn +":RegisterEffect(e)\r\n";
}
"e:SetCode(" + code + ") \r\n" +
"e:SetValue(" + value + ") \r\n" +
"" + cn + ":RegisterEffect(e)\r\n";
}
function set_summon_info(cn, summon_type, summon_location){
return "Debug.PreSummon(" + cn + "," + summon_type +
((summon_location == "") ? ")" : ("," + summon_location + ")"));
}
51 changes: 43 additions & 8 deletions javascripts/drag.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ function makeDraggable(thumb){
if(selectingEquip || selectingContinuous || removeContinuous){
return false;
}
dragImage.src = thumb.src;
var x = thumb.src.lastIndexOf('.');
var card_id = parseInt(thumb.src.substring(49,x));
dragImage.src = thumb.src;
dragImage.alt = thumb.alt;
var card_id = parseInt(thumb.alt);
var card_info = newCard_Info(card_id);
$.data(dragImage, 'card_info', card_info);
dragging = true;
Expand All @@ -23,14 +23,23 @@ function makeDraggable(thumb){
}
}
thumb.onmouseover = function(){
var x = thumb.src.lastIndexOf('.');
var card_id = parseInt(thumb.src.substring(49,x));
showDetail(card_id);
showDetail(parseInt(thumb.alt));
}
thumb.onerror =function(){
noimage(this);
};
//与图片相邻的表格也可以拖动
parent.childNodes[1].childNodes[0].onmouseover = thumb.onmouseover;
parent.childNodes[1].childNodes[0].onmousedown = thumb.onmousedown;
}
/*
function getcardId(src){
var x = src.lastIndexOf('.');
var y = src.lastIndexOf('/');
var card_id = parseInt(src.substring(y+1,x));
//console.log(src.substring(y+1,x));
return card_id;
}*/
function makeMoveable(thumb){
var parent = thumb.parentNode;
var thumbImg = thumb.getElementsByTagName("img")[0];
Expand All @@ -46,6 +55,9 @@ function makeMoveable(thumb){
var be_equip_target = card_info.be_equip_target;
var dragImage = document.getElementById('DragImage');
$.data(thumb, "degree", 0);
thumbImg.onerror =function(){
noimage(this);
};
thumbImg.onmousedown = function(ev){
ev = ev || window.event;
if(ev.button == 0 || ev.button == 1){
Expand Down Expand Up @@ -85,6 +97,7 @@ function makeMoveable(thumb){
else if(selectingEquip || selectingContinuous || removeContinuous)
return false;
dragImage.src = thumbImg.src;
dragImage.alt=thumbImg.alt;
var degree = $.data(thumb, "degree");
Img.rotate(dragImage, degree, true);
$.data(dragImage, 'card_info', card_info);
Expand Down Expand Up @@ -135,6 +148,11 @@ function makeMoveable(thumb){
if(card_info.level != undefined){
str += "怪兽等级:" + card_info.level + "</br>";
}
if(card_info.summon_type != ""){
str += "召唤方式:" + GetSummonTypeStr(card_info.summon_type) + "</br>";
if(card_info.summon_location != "")
str += "召唤位置:" + GetLocationStr(card_info.summon_location) + "</br>";
}
if(card_counters.length){
for(var k = 0; k < card_counters.length; k++){
str += GetCounterStrByCode(card_counters[k].code) + " :" + card_counters[k].number + "</br>";
Expand Down Expand Up @@ -261,10 +279,14 @@ function makeMoveable(thumb){
}
function newCard_Info(card_id){
var card_info = new Object();
var data = datas[card_id];
card_info.card_id = card_id;
card_info.position = "POS_FACEUP_ATTACK";
card_info.name = data.name
card_info.position = undefined;
card_info.disable_revivelimit = false;
card_info.cn = getCardName();
card_info.summon_type = "";
card_info.summon_location = "";
card_info.equip_target = [];
card_info.be_equip_target = [];
card_info.continuous_target = [];
Expand Down Expand Up @@ -324,4 +346,17 @@ function GetCounterStrByCode(code){
if(counters[i].code == code)
return counters[i].str;
}
}
}
function GetSummonTypeStr(summon_type){
for(var i in summon_types){
if(summon_types[i].type == summon_type)
return summon_types[i].str;
}
}
function GetLocationStr(loc){
for(var i in locations){
if(locations[i].location == loc)
return locations[i].str;
}
}

Loading