loot
This commit is contained in:
parent
0ead044da1
commit
51cc3f3ca6
|
@ -25,6 +25,7 @@
|
|||
{"id":{"name":"draw_settings","path":"scripts/draw_settings/draw_settings.yy",},"order":3,},
|
||||
{"id":{"name":"draw_circle_curve","path":"scripts/draw_circle_curve/draw_circle_curve.yy",},"order":2,},
|
||||
{"id":{"name":"o_unit","path":"objects/o_unit/o_unit.yy",},"order":2,},
|
||||
{"id":{"name":"combat","path":"scripts/combat/combat.yy",},"order":13,},
|
||||
{"id":{"name":"mod_negative","path":"scripts/mod_negative/mod_negative.yy",},"order":11,},
|
||||
{"id":{"name":"draw_circle_width","path":"scripts/draw_circle_width/draw_circle_width.yy",},"order":3,},
|
||||
{"id":{"name":"gcd","path":"scripts/gcd/gcd.yy",},"order":5,},
|
||||
|
@ -50,6 +51,7 @@
|
|||
{"id":{"name":"collision_line_width","path":"scripts/collision_line_width/collision_line_width.yy",},"order":9,},
|
||||
{"id":{"name":"draw_rectangle_width","path":"scripts/draw_rectangle_width/draw_rectangle_width.yy",},"order":7,},
|
||||
{"id":{"name":"s_guy2","path":"sprites/s_guy2/s_guy2.yy",},"order":1,},
|
||||
{"id":{"name":"s_momiji","path":"sprites/s_momiji/s_momiji.yy",},"order":0,},
|
||||
{"id":{"name":"dir2hv","path":"scripts/dir2hv/dir2hv.yy",},"order":2,},
|
||||
{"id":{"name":"tag","path":"scripts/tag/tag.yy",},"order":6,},
|
||||
{"id":{"name":"instance_create","path":"scripts/instance_create/instance_create.yy",},"order":6,},
|
||||
|
@ -68,9 +70,11 @@
|
|||
{"id":{"name":"draw_outline","path":"scripts/draw_outline/draw_outline.yy",},"order":5,},
|
||||
{"id":{"name":"distabs","path":"scripts/distabs/distabs.yy",},"order":11,},
|
||||
{"id":{"name":"nam","path":"scripts/nam/nam.yy",},"order":13,},
|
||||
{"id":{"name":"c_resetbattlevar","path":"scripts/c_resetbattlevar/c_resetbattlevar.yy",},"order":14,},
|
||||
{"id":{"name":"array_find_index","path":"scripts/array_find_index/array_find_index.yy",},"order":1,},
|
||||
{"id":{"name":"array_greatest","path":"scripts/array_greatest/array_greatest.yy",},"order":4,},
|
||||
{"id":{"name":"c_null","path":"scripts/c_null/c_null.yy",},"order":4,},
|
||||
{"id":{"name":"array_contains_within","path":"scripts/array_contains_within/array_contains_within.yy",},"order":19,},
|
||||
{"id":{"name":"st_moving","path":"scripts/st_moving/st_moving.yy",},"order":7,},
|
||||
{"id":{"name":"Room1","path":"rooms/Room1/Room1.yy",},"order":0,},
|
||||
],
|
||||
|
@ -108,6 +112,7 @@
|
|||
{"folderPath":"folders/Scripts/util/drawing.yy","order":3,"resourceVersion":"1.0","name":"drawing","tags":[],"resourceType":"GMFolder",},
|
||||
{"folderPath":"folders/Scripts/util/drawing/vlambeer.yy","order":1,"resourceVersion":"1.0","name":"vlambeer","tags":[],"resourceType":"GMFolder",},
|
||||
{"folderPath":"folders/Scripts/util.yy","order":1,"resourceVersion":"1.0","name":"util","tags":[],"resourceType":"GMFolder",},
|
||||
{"folderPath":"folders/Sprites/momiji.yy","order":2,"resourceVersion":"1.0","name":"momiji","tags":[],"resourceType":"GMFolder",},
|
||||
],
|
||||
"AudioGroups": [
|
||||
{"targets":-1,"resourceVersion":"1.3","name":"audiogroup_default","resourceType":"GMAudioGroup",},
|
||||
|
|
|
@ -3,3 +3,4 @@ var i;
|
|||
for (i=0; i<array_length(global.units[ARMY.US]); i++) {
|
||||
c_inheritunit(2+i, 2, un.chara);
|
||||
}
|
||||
selectedunit = noone;
|
|
@ -1,5 +1,5 @@
|
|||
c_input();
|
||||
if select {
|
||||
if select && selectedunit == noone {
|
||||
var mousex = floor(mouse_x/global.tilesize.x);
|
||||
var mousey = floor(mouse_y/global.tilesize.y);
|
||||
log(mousex, mousey);
|
||||
|
|
|
@ -6,3 +6,24 @@ hspd = 0;
|
|||
vspd = 0;
|
||||
returnpos = new vec2(0, 0);
|
||||
dir = DIR.NONE;
|
||||
attacks = 0;
|
||||
attacked = 0;
|
||||
|
||||
continuecombat = function(me, them) {
|
||||
//if stamina returnable = true stamina-- return true
|
||||
if !(attacks-(me.data.spd.val > them.data.spd.val+5)) { //DONT USE FIVE, OR ANY OF THIS
|
||||
attacks++;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
action = {
|
||||
effect: function(me, them) {
|
||||
them.data.hp.val -= me.data.str.val;
|
||||
return me.data.str.val;
|
||||
}
|
||||
//animation: new actionanim()
|
||||
|
||||
}
|
||||
hooks = {};
|
|
@ -1,10 +1,11 @@
|
|||
draw_self();
|
||||
drawstate();
|
||||
log(data);
|
||||
//log(data);
|
||||
draw_set_color(c_red);
|
||||
draw_rectangle(x-ts.x/2, y-ts.y/2-1,
|
||||
x-ts.x/2+(ts.x*(data.hp.val/data.hp.val)),
|
||||
x-ts.x/2+(ts.x*(data.hp.val/data.hp.cap)),
|
||||
y-ts.y/2+1, false
|
||||
);
|
||||
draw_text(x, y-ts.y, data.hp.val);
|
||||
//draw_set_color(c_red);
|
||||
//draw_circle(x, y, 5, false);
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "data",
|
||||
"path": "folders/Scripts/util/data.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "array_contains",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
function array_contains_within(array, val) {
|
||||
var i, j;
|
||||
for (i=0; i<array_length(array); i++) {
|
||||
if typeof(array[i]) == "struct" {
|
||||
var dudes = variable_struct_get_names(array[i]);
|
||||
for (j=0; j<array_length(dudes); j++) {
|
||||
if array[i][$dudes[j]] == val return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "data",
|
||||
"path": "folders/Scripts/util/data.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "array_contains_within",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -1,6 +1,11 @@
|
|||
function c_gettile(x, y, absolute=false) {
|
||||
var thex = round((x-16)/ts.x);
|
||||
var they = round((y-16)/ts.y);
|
||||
if absolute {
|
||||
var thex = round((x-16)/ts.x);
|
||||
var they = round((y-16)/ts.y);
|
||||
} else {
|
||||
var thex = x;
|
||||
var they = y;
|
||||
}
|
||||
if c_tileexists(thex, they) return mp[thex][they];
|
||||
return noone;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
function c_resetbattlevar(target=id) {
|
||||
with target {
|
||||
attacks = 0;
|
||||
attacked = 0;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "Scripts",
|
||||
"path": "folders/Scripts.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "c_resetbattlevar",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -11,6 +11,18 @@ function c_selectunit(unitobject) {
|
|||
}
|
||||
}
|
||||
}
|
||||
ARTICULATOR.selectedunit = unitobject;
|
||||
}
|
||||
|
||||
function c_deselectunit(unitobject) {
|
||||
if ARTICULATOR.selectedunit != unitobject return false
|
||||
state = st_standing;
|
||||
drawstate = c_null;
|
||||
c_decolor_all(c_cyan);
|
||||
c_decolor_all(c_red);
|
||||
c_decolor_all(c_green);
|
||||
ARTICULATOR.selectedunit = noone;
|
||||
return true;
|
||||
}
|
||||
|
||||
function c_colortile(x, y, color) {
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
function c_generatecombatstack(combatants=[]) {
|
||||
log(combatants);
|
||||
//c_doallhook(hooks.precombat);
|
||||
for (i=0; i<array_length(combatants); i++) {
|
||||
c_resetbattlevar(combatants[i]);
|
||||
}
|
||||
//while combatants != [] {
|
||||
log("whiling");
|
||||
var i=0;
|
||||
for (i=0; i<array_length(combatants); i++) {
|
||||
//c_dodualhook(combatants[i], preaction);
|
||||
tryaction(combatants[i], combatants[(i+1)%array_length(combatants)]);
|
||||
//c_dodualhook(combatants[i], postaction);
|
||||
}
|
||||
//}
|
||||
for (i=0; i<array_length(combatants); i++) {
|
||||
c_resetbattlevar(combatants[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function c_recordaction(action) {
|
||||
log(action);
|
||||
}
|
||||
|
||||
function c_dodualhook(host, hook) {
|
||||
|
||||
}
|
||||
function c_doallhook(hook) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
function tryaction(me, them) {
|
||||
//c_dodualhook(hooks.onstaminacheck);
|
||||
while me.continuecombat(me, them) {
|
||||
//action = defaultaction;
|
||||
//c_dodualhook(hooks.prehit);
|
||||
c_recordaction(me.action.effect(me, them));
|
||||
//c_dodualhook(hooks.posthit);
|
||||
}
|
||||
}
|
||||
|
||||
/*action {
|
||||
effect: function() {
|
||||
|
||||
}
|
||||
animation: new actionanim()
|
||||
|
||||
}*/
|
||||
|
||||
function insertaction(action, interruptable) {
|
||||
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"isDnD": false,
|
||||
"isCompatibility": false,
|
||||
"parent": {
|
||||
"name": "Scripts",
|
||||
"path": "folders/Scripts.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "combat",
|
||||
"tags": [],
|
||||
"resourceType": "GMScript",
|
||||
}
|
|
@ -42,48 +42,48 @@ function st_moving() {
|
|||
c_decolor_all(c_red);
|
||||
c_decolor_all(c_green);
|
||||
var guy = c_gettile(x, y, true);
|
||||
c_colortile(guy.x, guy.y, c_green);
|
||||
//log("selecting");
|
||||
var rng = [1];
|
||||
var guy = c_gettile(x, y, true);
|
||||
var hitting = noone;
|
||||
if guy != noone {
|
||||
c_colortile(guy.x, guy.y, c_green);
|
||||
switch dir {
|
||||
case DIR.LEFT:
|
||||
c_colortile(guy.x-1, guy.y, c_red);
|
||||
break;
|
||||
case DIR.DOWN:
|
||||
c_colortile(guy.x, guy.y+1, c_red);
|
||||
break;
|
||||
case DIR.UP:
|
||||
c_colortile(guy.x, guy.y-1, c_red);
|
||||
break;
|
||||
case DIR.RIGHT:
|
||||
c_colortile(guy.x+1, guy.y, c_red);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if select {
|
||||
var rng = [1];
|
||||
var guy = c_gettile(x, y, true);
|
||||
var hitting = noone;
|
||||
switch dir {
|
||||
case DIR.LEFT:
|
||||
hitting = c_gettile(guy.x-1, guy.y);
|
||||
c_colortile(guy.x-1, guy.y, c_red);
|
||||
break;
|
||||
case DIR.DOWN:
|
||||
hitting = c_gettile(guy.x, guy.y+1);
|
||||
c_colortile(guy.x, guy.y+1, c_red);
|
||||
break;
|
||||
case DIR.UP:
|
||||
hitting = c_gettile(guy.x, guy.y-1);
|
||||
c_colortile(guy.x, guy.y-1, c_red);
|
||||
break;
|
||||
case DIR.RIGHT:
|
||||
hitting = c_gettile(guy.x+1, guy.y);
|
||||
c_colortile(guy.x+1, guy.y, c_red);
|
||||
break;
|
||||
}
|
||||
if hitting != noone {
|
||||
|
||||
if hitting != noone && select {
|
||||
log("found one");
|
||||
log(hitting.contents, hitting.x, hitting.y);
|
||||
var i;
|
||||
for (i=0; i<array_length(hitting.contents); i++) {
|
||||
if instance_exists(hitting.contents[i]) {
|
||||
log("is instance");
|
||||
if hitting.contents[i].object_index = o_unit {
|
||||
log("is unit");
|
||||
log("found two");
|
||||
c_generatecombatstack([id, hitting.contents[i]]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if back {
|
||||
state = st_standing;
|
||||
drawstate = c_null;
|
||||
c_deselectunit(id);
|
||||
}
|
||||
/*if x < (pos.x-mov)*ts.x {
|
||||
x = (pos.x-mov)*ts.x;
|
||||
|
|
|
@ -14,9 +14,11 @@ function stat(name_, fullname_, desc_, replacements_=[]) constructor {
|
|||
|
||||
function unitstat(val_, name_, fullname_, desc_, replacements_) : stat(name_, fullname_, desc_, replacements_) constructor {
|
||||
val = val_;
|
||||
cap = val_;
|
||||
modifier = 0;
|
||||
}
|
||||
|
||||
nu stat("hp", "health", "vitality");
|
||||
nu stat("str", "strength", "physical power");
|
||||
nu stat("def", "defense", "physical defense");
|
||||
nu stat("spd", "speed", "avoid and follow-up");
|
|
@ -25,7 +25,7 @@ function unit(personaldata_, classdata_, stats_) constructor {
|
|||
global.unitdata[$name] = self;
|
||||
}
|
||||
|
||||
nu unit(mydata, mydata, [st.hp.add(92), st.str.add(20), st.def.add(20)]);
|
||||
nu unit(mydata, mydata, [st.hp.add(92), st.str.add(20), st.def.add(20), st.spd.add(5)]);
|
||||
|
||||
mydata = {
|
||||
name: "kris",
|
||||
|
@ -33,7 +33,7 @@ mydata = {
|
|||
skills: ["SKILLS.LUNA"],
|
||||
sprite: s_guy2,
|
||||
}
|
||||
nu unit(mydata, mydata, [st.hp.add(92), st.str.add(20), st.def.add(20)]);
|
||||
nu unit(mydata, mydata, [st.hp.add(92), st.str.add(20), st.def.add(20), st.spd.add(5)]);
|
||||
|
||||
function archetypedata() constructor {
|
||||
//PERSONALDATA AND CLASSDATA ARE THE SAME THINGS
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 99 B |
Binary file not shown.
After Width: | Height: | Size: 99 B |
|
@ -0,0 +1,79 @@
|
|||
{
|
||||
"bboxMode": 0,
|
||||
"collisionKind": 0,
|
||||
"type": 0,
|
||||
"origin": 4,
|
||||
"preMultiplyAlpha": false,
|
||||
"edgeFiltering": false,
|
||||
"collisionTolerance": 0,
|
||||
"swfPrecision": 2.525,
|
||||
"bbox_left": 0,
|
||||
"bbox_right": 0,
|
||||
"bbox_top": 0,
|
||||
"bbox_bottom": 0,
|
||||
"HTile": false,
|
||||
"VTile": false,
|
||||
"For3D": false,
|
||||
"width": 32,
|
||||
"height": 32,
|
||||
"textureGroupId": {
|
||||
"name": "Default",
|
||||
"path": "texturegroups/Default",
|
||||
},
|
||||
"swatchColours": null,
|
||||
"gridX": 0,
|
||||
"gridY": 0,
|
||||
"frames": [
|
||||
{"compositeImage":{"FrameId":{"name":"ea35e997-c3b5-4156-9563-4027f6f9645a","path":"sprites/s_momiji/s_momiji.yy",},"LayerId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},"images":[
|
||||
{"FrameId":{"name":"ea35e997-c3b5-4156-9563-4027f6f9645a","path":"sprites/s_momiji/s_momiji.yy",},"LayerId":{"name":"722b53dd-20e3-491f-9203-55886718dd68","path":"sprites/s_momiji/s_momiji.yy",},"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMSpriteBitmap",},
|
||||
],"parent":{"name":"s_momiji","path":"sprites/s_momiji/s_momiji.yy",},"resourceVersion":"1.0","name":"ea35e997-c3b5-4156-9563-4027f6f9645a","tags":[],"resourceType":"GMSpriteFrame",},
|
||||
],
|
||||
"sequence": {
|
||||
"spriteId": {"name":"s_momiji","path":"sprites/s_momiji/s_momiji.yy",},
|
||||
"timeUnits": 1,
|
||||
"playback": 1,
|
||||
"playbackSpeed": 30.0,
|
||||
"playbackSpeedType": 0,
|
||||
"autoRecord": true,
|
||||
"volume": 1.0,
|
||||
"length": 1.0,
|
||||
"events": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore<MessageEventKeyframe>",},
|
||||
"moments": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore<MomentsEventKeyframe>",},
|
||||
"tracks": [
|
||||
{"name":"frames","spriteId":null,"keyframes":{"Keyframes":[
|
||||
{"id":"72a83b44-0ad0-4608-9c74-df5a743988f0","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"ea35e997-c3b5-4156-9563-4027f6f9645a","path":"sprites/s_momiji/s_momiji.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe<SpriteFrameKeyframe>",},
|
||||
],"resourceVersion":"1.0","resourceType":"KeyframeStore<SpriteFrameKeyframe>",},"trackColour":0,"inheritsTrackColour":true,"builtinName":0,"traits":0,"interpolation":1,"tracks":[],"events":[],"modifiers":[],"isCreationTrack":false,"resourceVersion":"1.0","tags":[],"resourceType":"GMSpriteFramesTrack",},
|
||||
],
|
||||
"visibleRange": null,
|
||||
"lockOrigin": false,
|
||||
"showBackdrop": true,
|
||||
"showBackdropImage": false,
|
||||
"backdropImagePath": "",
|
||||
"backdropImageOpacity": 0.5,
|
||||
"backdropWidth": 1366,
|
||||
"backdropHeight": 768,
|
||||
"backdropXOffset": 0.0,
|
||||
"backdropYOffset": 0.0,
|
||||
"xorigin": 16,
|
||||
"yorigin": 16,
|
||||
"eventToFunction": {},
|
||||
"eventStubScript": null,
|
||||
"parent": {"name":"s_momiji","path":"sprites/s_momiji/s_momiji.yy",},
|
||||
"resourceVersion": "1.3",
|
||||
"name": "s_momiji",
|
||||
"tags": [],
|
||||
"resourceType": "GMSequence",
|
||||
},
|
||||
"layers": [
|
||||
{"visible":true,"isLocked":false,"blendMode":0,"opacity":100.0,"displayName":"default","resourceVersion":"1.0","name":"722b53dd-20e3-491f-9203-55886718dd68","tags":[],"resourceType":"GMImageLayer",},
|
||||
],
|
||||
"nineSlice": null,
|
||||
"parent": {
|
||||
"name": "momiji",
|
||||
"path": "folders/Sprites/momiji.yy",
|
||||
},
|
||||
"resourceVersion": "1.0",
|
||||
"name": "s_momiji",
|
||||
"tags": [],
|
||||
"resourceType": "GMSprite",
|
||||
}
|
Loading…
Reference in New Issue