diff --git a/fortune_generator/fortune.js b/fortune_generator/fortune.js
index e1593b6..1485def 100644
--- a/fortune_generator/fortune.js
+++ b/fortune_generator/fortune.js
@@ -37,6 +37,8 @@ $('#month').html(showMonth);
$('#date').html(showDate);
$('#weekday').html(showDay);
+let special = false;
+
function Appear() {
$('#title').html(title);
$('#month').html('');
@@ -44,6 +46,10 @@ function Appear() {
$('#weekday').html('');
$('#btn').html('打卡成功');
+ if(date == 18 && month == 11){
+ special = true;
+ }
+
let p = 0;
let num = [0, 0, 0, 0];
for(let i = 0; i < 14; i++) {
@@ -61,23 +67,28 @@ function Appear() {
let hashDate = Math.round(Math.log10(year * ((month << (Math.log10(num[3]) + 1)) * (date << Math.log10(num[2])))));
let seed1 = (num[0] >> hashDate) * (num[1] >> Math.min(hashDate, 2)) + (num[2] << 1) * (num[3] >> 3) + (date << 3) * (month << hashDate) + year;
let seed2 = (num[0] << (hashDate + 2)) * (num[1] << hashDate) + (num[2] << 1) * (num[3] << 3) + (date << (hashDate - 1)) * (month << 4) + year >> hashDate;
- console.log(hashDate, seed1, seed2);
let status = `§ ${fortuneStatus[seed1 % statusLen]} §`;
- $('#ip-to-fortune').html(status);
+ if(special){
+ special_status = `§ ${fortuneStatus[0]} §`;
+ $('#ip-to-fortune').html(special_status);
+ }
+ else{
+ $('#ip-to-fortune').html(status);
+ }
let l_1_event, l_1_desc, l_2_event, l_2_desc, r_1_event, r_1_desc, r_2_event, r_2_desc;
let l1, l2, r1, r2;
let set = new Set();
l1 = seed1 % goodLen;
set.add(goodFortunes[l1].event);
- l2 = ((seed1 << 1) + date) % goodLen;
+ l2 = ((seed1 << 1) + date + goodLen) % goodLen;
while(set.has(goodFortunes[l2].event)) l2 = (l2 + 1) % goodLen;
set.add(goodFortunes[l2].event);
r1 = ((seed1 >> 1) + (d.getMonth() << 3)) % badLen;
while(set.has(badFortunes[r1].event)) r1 = (r1 + 2) % badLen;
set.add(badFortunes[r1].event);
- r2 = (((((seed1 << 3 ) + (d.getFullYear() >> 5) * (date << 2)) % badLen) * seed2) >> 6) % badLen;
+ r2 = ((((((seed1 << 3) + (d.getFullYear() >> 5) * (date << 2)) % badLen) * seed2) >> 6) % badLen + badLen) % badLen;
while(set.has(badFortunes[r2].event)) r2 = (r2 + 1) % badLen;
l_1_event = `宜: ${goodFortunes[l1].event}`;
l_1_desc = `${goodFortunes[l1].description}`;
@@ -87,7 +98,18 @@ function Appear() {
r_1_desc = `${badFortunes[r1].description}`;
r_2_event = `忌: ${badFortunes[r2].event}`;
r_2_desc = `${badFortunes[r2].description}`;
- if(seed1 % statusLen == 0){
+ if(special){
+ l_1_special_event = `宜: 參加特選`;
+ l_1_special_desc = `順利上榜`;
+ l_2_special_event = `宜: 放鬆心態`;
+ l_2_special_desc = `水準超常發揮`;
+ $('#r-1-event').html(allGood);
+ $('#l-1-event').html(l_1_special_event);
+ $('#l-1-desc').html(l_1_special_desc);
+ $('#l-2-event').html(l_2_special_event);
+ $('#l-2-desc').html(l_2_special_desc);
+ }
+ else if(seed1 % statusLen == 0){
$('#r-1-event').html(allGood);
$('#l-1-event').html(l_1_event);
$('#l-1-desc').html(l_1_desc);